fix: 修复设置页新增模型弹窗被层叠上下文遮挡 + 新增 desktop 一键 dev 脚本 - #36
Merged
Conversation
5.1 点击打开:网页链接(http/https)经浏览器打开,本地文件链接走系统文件 管理器;恢复 open_tui_chat_file_link「只处理本地链接」契约,修复 ExternalLinkDoesNotCallLocalLauncher 回归。 5.2 OSC 8 透传:markdown 渲染注入 OSC 8 转义,新增 link_safety 模块做 URL 安全过滤。 5.3 悬停气泡:terminal_capability 探测 hover motion 支持,tui_state 新增 hover 字段,main.cpp 以 dbox 叠加无布局侵入气泡并调用 screen.EnableMouseHoverMotion。 新增 utils/open_url(is_openable_http_url / open_url_in_browser,默认不经 shell 启动器);ports/ftxui port-version 3→4(子模块源码变更需 bump 以刷新 vcpkg ABI hash);openspec 文档(design/proposal/tasks)同步更新。 注意:本提交冻结 external/ftxui gitlink 于 658c942c。src/main.cpp 调用了 未合并 hover 补丁(f98588b4, FTXUI PR #2)新增的 EnableMouseHoverMotion, 故分支需待 PR #2 合并并前移 gitlink 后方可独立编译。
- SettingsPage: 将 transition-all + translate-y 改为 transition-opacity + 纯 opacity, 消除 transform 创建的层叠上下文,解决新增模型弹窗被设置页面遮挡的问题 - 新增 scripts/dev_desktop.py: 一键启动 desktop 开发环境,自动构建 web/dist 并 设置 ACECODE_DEV_WEB_DIR 环境变量,改 H5 无需重编 C++ - 新增 scripts/dev_desktop.sh / .bat: 跨平台启动器
LIUXIN557
pushed a commit
that referenced
this pull request
Sep 2, 2026
…HoverMotion) master 经 #36 合入 0b97e49(TUI 超链接增强 5.1-5.3)后,src/main.cpp 调用了 ftxui::App::EnableMouseHoverMotion / EnableSynchronizedOutput 等新 API,但 external/ftxui 的 gitlink 仍停留在 658c942c——该版本 ftxui 无 EnableMouseHoverMotion 成员,导致 linux-x64 CI 在 Build CLI and test binary 步骤失败(error: class ftxui::App has no member named EnableMouseHoverMotion), master 处于构建红态(Merge #36 run 33653685659 同一步失败,为 pre-existing)。 前移至 f98588b4(FTXUI PR #2 hover motion,已确认合入 shaohaozhi286/FTXUI main,任意机器 clone 可及;与 #37 分支 ae67486 指向一致)。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
问题
在设置页点击「模型 → 新增模型」时,弹窗会被设置页面遮挡,表现为"卡住";点击返回时设置页面淡出,弹窗才短暂露出。
根因
SettingsPage 根元素使用了
transition-all duration-250+translate-y-0/4。translate-y本质是 CSStransform,会创建新的层叠上下文(stacking context)。在桌面端 WebView 场景下,通过 portal 渲染到 body 的 Modal 未能正确叠加在 SettingsPage 之上,导致弹窗被不透明背景遮挡。修复
1. SettingsPage 样式调整 (
web/src/components/SettingsPage.jsx)transition-all→transition-opacity(只过渡透明度,避免为所有属性创建合成层)translate-y-0/4(消除 transform 创建的层叠上下文)opacity-100/0淡入淡出动画视觉变化:设置页打开/关闭从「淡入+上滑」变为「纯淡入」,更简洁。
2. 新增 desktop 一键 dev 脚本 (
scripts/dev_desktop.py+scripts/dev_desktop.sh+scripts/dev_desktop.bat)用途:只修改 web/H5 代码时,快速启动 desktop 开发环境验证,无需重新编译 C++。
功能:
web/src/是否有比web/dist/index.html更新的文件,有就自动pnpm build)desktop-release)ACECODE_DEV_WEB_DIR环境变量,desktop 启动后从文件系统加载前端资源用法:
验证
--help/--list输出正常,正确识别build/macos-x64-desktop-release/ACECode.app影响范围
ACECODE_DEV_WEB_DIR环境变量机制,无需 C++ 改动